
package com.loan.rebate.news.service;

import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.loan.rebate.news.dao.NewsInfoDao;
import com.loan.rebate.news.entity.NewsInfoVO;
import com.loan.rebate.news.param.NewsInfoParam;

/**
 * 新闻Service实现类
 *
 * @author 朱国军
 * @version 2016年03月23日 朱国军
 */
@Service
public class NewsInfoService {

    @Autowired
    private NewsInfoDao newsInfoDao;

    /**
     * 新增，注：返回的添加的条数，获取主键用entity.getId();
     *
     * @param entity 要增加的新闻对象
     * @return 返回新增的条数
     */
    public Integer insert(NewsInfoVO entity) {
        return newsInfoDao.insert(entity);
    }

    /**
     * 修改
     *
     * @param entity 要修改的新闻对象
     * @return 返回修改的条数
     */
    public Integer update(NewsInfoVO entity) {
        return newsInfoDao.update(entity);
    }

    /**
     * 根据ID获取新闻实体
     *
     * @param id 主键
     * @return 新闻信息
     */
    public NewsInfoVO findById(String id) {
        return newsInfoDao.findById(id);
    }
    
    /**
     * 查询上一条或者下一条信息
     *
     * @param param 类型，时间
     * @return 新闻信息
     */
    public NewsInfoVO selectLastOrNextNews(String selectType, Date thisTime, Integer newsType) {
        Map<String, Object> param = new HashMap<String, Object>();
        param.put("selectType", selectType);
        param.put("thisTime", thisTime);
        param.put("newsType", newsType);
        return newsInfoDao.selectLastOrNextNews(param);
    }

    /**
     * 按查询条件【分页】查询
     *
     * @param param 新闻查询条件
     * @return 新闻列表
     */
    public List<NewsInfoVO> queryByPage(NewsInfoParam param) {
        return newsInfoDao.queryByPage(param);
    }

    /**
     * 根据ID删除新闻
     *
     * @param id 主键
     */
    public Integer delete(String id) {
        return newsInfoDao.delete(id);
    }
}
